package com.dhcc.DRGsHosp.web.controller;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.openkoala.koala.commons.InvokeResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.dhcc.DRGsHosp.facade.GroupFuncFacade;
import com.dhcc.DRGsHosp.facade.dto.GroupFuncDTO;

@Controller("drgsHospWebController20")
@RequestMapping("/GroupFunc")
public class GroupFuncController {
		
	@Autowired
	private GroupFuncFacade groupFuncFacade;
	
	/**
	 * @methodname    :getProgress
	 * @description   :获取执行进度
	 * @param         :
	 * @author        :WangTeng
	 * @return        :
	 * @date          :2015年1月27日
	 */
	@ResponseBody
	@RequestMapping("/getProgress"  ) 
	public void getProgress(HttpServletRequest request,HttpServletResponse response){
		groupFuncFacade.getProgress(response);
	}
	
	/**
	 * @methodname    :drgsGroupPatients
	 * @description   :分组病例
	 * @param         :
	 * @author        :WangTeng
	 * @return        :
	 * @date          :2015年12月18日
	 */
	@ResponseBody
	@RequestMapping("/drgsGroupPatients"  ) 
	public InvokeResult drgsGroupPatients(GroupFuncDTO dto){
		return groupFuncFacade.drgsGroupPatients(dto);
	}
	
	@ResponseBody
	@RequestMapping("/drgs") 
	public void drgs(HttpServletRequest request,HttpServletResponse response){
		try {
			request.getRequestDispatcher("/pages/dataMonitor/drgsGroupFree.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	/**
	 * 
	 *  findPatientInDatabase.  
	 *  @Description：根据病案号从数据库中查询病例信息
	 *  @Author ZouYiyu
	 *  @param mrId
	 *  @return 
	 *  @Date:2017年7月31日下午3:12:40
	 */
	@ResponseBody
	@RequestMapping("/findPatientInDatabase")
	public List<Map<String, Object>> findPatientInDatabase(String mrId){
		return groupFuncFacade.findPatientInDatabase(mrId);
	}
	/**
	 * 
	 *  replaceGroupResult.  
	 *  @Description：将在线分组结果替换系统中的分组结果
	 *  @Author ZouYiyu
	 *  @param doInsert
	 *  @return 
	 *  @Date:2017年7月31日下午3:28:17
	 */
	@ResponseBody
	@RequestMapping("/replaceGroupResult")
	public String replaceGroupResult(String doInsert){
		return groupFuncFacade.replaceGroupResult(doInsert);
	}
	/**
	 * 
	 *  findAndGroupPatient.  
	 *  @Description：根据病案号再去系统中查询病例信息并分组
	 *  @Author ZouYiyu
	 *  @param mrId
	 *  @param drgVersion
	 *  @return 
	 *  @Date:2017年7月31日下午3:29:37
	 */
	@ResponseBody
	@RequestMapping("/findAndGroupPatient")
	public InvokeResult findAndGroupPatient(String mrId,String drgVersion,String isICDMatch){
		return groupFuncFacade.findAndGroupPatient(mrId,drgVersion,isICDMatch);
	}
}
